
package prop;

import java.io.Serializable;

/**Autor: Pedro Redondo Quesada **46471772R**/
public abstract class Palabra implements Serializable{

	protected String valor;
	protected int id;
	protected boolean marca;
//Constructora

	public Palabra() {
	//{Pre: - }
	//{Post: crea en una Palabra vacia}
		valor="";
		id=0;
		marca=false;
	}

//Consultoras

	public String getValor(){
	//{Pre: el parametro implicito no es vacio}
	//{Post: devuelve el valor nominal del parametro implicito}
		return this.valor;
	}
	
	public int getId(){
	//{Pre: el parametro implicito no es vacio}
	//{Post: devuelve el identificador del parametro implicito}
		return this.id;
	}
	
	public boolean estaMarcado(){
	//{Pre: - }
	//{Post: devuelve cierto si el parametro implicito esta marcado, falso en caso contrario}
		return this.marca;
	}

//Modificadoras

	public void setValor(String p){
	//{Pre: p es un String no vacio}
	//{Post: el valor del parametro implicito pasara a ser p}
		if(!p.equals("") && !p.equals(" "))
			this.valor=p;
        }

	public void setId(int idn){
	//{Pre: idn > 0}
	//{Post: el identificador del parametro implicito pasara a ser idn}
		if(idn>0)	this.id=idn;
        }
	
	public void marcarPalabra(){
	//{Pre: - }
	//{Post: el parametro implicito queda marcado}
		this.marca=true;
	}
	
	public void desmarcarPalabra(){
	//{Pre: - }
	//{Post: el parametro implicito no esta marcado}
		this.marca=false;
	}
        
        
}
